﻿// Decompiled with JetBrains decompiler
// Type: DnProcessSimulateCommands.ExportToRTR.YAML.CollisionSetsBetween
// Assembly: DnProcessSimulateCommands, Version=2402.0.0.890, Culture=neutral, PublicKeyToken=null
// MVID: A885D881-AEDF-447E-852A-6F13102E089C
// Assembly location: C:\Program Files\Tecnomatix_2402\eMPower\DotNetCommands\DnProcessSimulateCommands.dll


namespace DnProcessSimulateCommands.ExportToRTR.YAML;

public class CollisionSetsBetween : CollisionSetsBetweenBase
{
  public string type = "between";
  public CollisionSetObjects First = new CollisionSetObjects();
  public CollisionSetObjects Second = new CollisionSetObjects();

  public CollisionSetsBetween()
  {
  }

  public CollisionSetsBetween(
    FlowFormatList<IIgnoreObjFlowForamt> firstList,
    FlowFormatList<IIgnoreObjFlowForamt> secondList,
    bool isSecondPartialRobot = false)
  {
    this.First.PartialRobot = firstList;
    if (isSecondPartialRobot)
      this.Second.PartialRobot = secondList;
    else
      this.Second.PartialWorld = secondList;
  }

  public CollisionSetsBetween(CollisionSetsBetween other)
  {
    this.First = new CollisionSetObjects(other.First);
    this.Second = new CollisionSetObjects(other.Second);
  }

  public override bool Equals(CollisionSetsBetweenBase other)
  {
    if (this.GetType() != other.GetType())
      return false;
    CollisionSetsBetween collisionSetsBetween = (CollisionSetsBetween) other;
    return this.First.Equals(collisionSetsBetween.First) && this.Second.Equals(collisionSetsBetween.Second);
  }
}
